import unittest
import requests


class TestLogin(unittest.TestCase):
    '''登录模块'''

    def setUp(self):
        # 准备测试环境或数据
        self.base_url = 'http://192.168.10.129'
        self.url = self.base_url + '/TinyShop_v1.7/index.php?con=simple&act=login_act'
        self.re = requests.Session()
        print("==================Start==================")

    def test_userNull(self):
        '''用户名为空'''
        data = {
            'email': '',
            'password': '123456'
        }
        r = self.re.post(self.url, data)
        self.assertFalse('安全退出' in r.text)

    def test_pwdNull(self):
        '''密码为空'''
        data = {
            'email': '123@123.com',
            'password': ''
        }
        r = self.re.post(self.url, data)
        self.assertFalse('安全退出' in r.text)

    def test_userInvalid(self):
        '''用户名错误'''
        data = {
            'email': '123@3.com',
            'password': '123456'
        }
        r = self.re.post(self.url, data)
        self.assertFalse('安全退出' in r.text)

    def test_pwdInvalid(self):
        '''密码错误'''
        data = {
            'email': '123@123.com',
            'password': '1236'
        }
        r = self.re.post(self.url, data)
        self.assertFalse('安全退出' in r.text)

    def test_userPwdValid(self):
        '''用户名密码均正确'''
        data = {
            'email': '3@qq.com',
            'password': '123456'
        }
        r = self.re.post(self.url, data)
        self.assertTrue('安全退出' in r.text)

    def test_userFormatInvalid(self):
        '''用户名格式错误'''
        data = {
            'email': '3@qq.',
            'password': '123456'
        }
        r = self.re.post(self.url, data)
        self.assertFalse('安全退出' in r.text)

    def test_pwdGBK(self):
        '''密码为中文'''
        data = {
            'email': '3@qq.',
            'password': '一二三'
        }
        r = self.re.post(self.url, data)
        self.assertFalse('安全退出' in r.text)

    def tearDown(self):
        # 清理数据, 还原测试环境
        print("==================End==================")


if __name__ == '__main__':
    unittest.main()
